﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Comissoes.Models;
using Comissoes.JQGridObject;

namespace Comissoes.Controllers
{
    public class UnidadesController : AppController
    {
        xcontEntities db = new xcontEntities();

        public ActionResult Index()
        {
            return View();
        }

        // Monta a lista de tipos de produtos
        public JsonResult List(String sidx, String sord, Int32 page, Int32 rows, Boolean _search, String searchField, String searchString, String searchOper)
        {
            try
            {
                var q = from c in db.UNIDADES
                        select new
                        {
                            act = "",
                            c.ID_UNID,
                            c.COD_UNID,
                            c.DESC_UNID
                        };

                JQGridBuilder jbuilder = new JQGridBuilder(q.AsQueryable(), page, sidx, sord, searchField, searchString, searchOper, "ID_UNID", _search, rows);

                return Json(jbuilder.GetObject(), JsonRequestBehavior.AllowGet);
            }
            catch
            {
                return Json(null, JsonRequestBehavior.AllowGet);
            }
        }

        public ActionResult Update(Int32 id, FormCollection form)
        {
            UnidadesModel unidade;

            if (id == 0)
                unidade = new UnidadesModel();

            else
                unidade = new UnidadesModel(id);

            if (unidade.UpdateValidate(form).Any())
                return Json(unidade.UpdateValidate(form), JsonRequestBehavior.AllowGet);

            else
                unidade.Update(form);

            return Json(true, JsonRequestBehavior.AllowGet);
        }

        public ActionResult Delete()
        {
            UnidadesModel unidade = new UnidadesModel(Int32.Parse(Request["id"]));

            return Json(unidade.Delete(), JsonRequestBehavior.AllowGet);
        }
    }
}
